package com.example.rpcdemo.core.protocol;

import java.io.Serializable;

public class RpcRequest implements Serializable {
    private static final long serialVersionUID = 1L;
    
    private String className;
    private String methodName;
    private Object[] args;
    private Class<?>[] parameterTypes;
    
    public RpcRequest() {}
    
    public RpcRequest(String className, String methodName, Object[] args, Class<?>[] parameterTypes) {
        this.className = className;
        this.methodName = methodName;
        this.args = args;
        this.parameterTypes = parameterTypes;
    }
    
    // Getters and setters
    public String getClassName() { return className; }
    public void setClassName(String className) { this.className = className; }
    
    public String getMethodName() { return methodName; }
    public void setMethodName(String methodName) { this.methodName = methodName; }
    
    public Object[] getArgs() { return args; }
    public void setArgs(Object[] args) { this.args = args; }
    
    public Class<?>[] getParameterTypes() { return parameterTypes; }
    public void setParameterTypes(Class<?>[] parameterTypes) { this.parameterTypes = parameterTypes; }
}